package com.heitian.ssm.dao;

import com.heitian.ssm.model.Attach;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 作者： 陈建峰
 * 创建时间： 17/10/18 下午1:52
 * 版本： [1.0, 17/10/18]
 * 描述： 附件操作类
 */
@Repository
public interface AttachDao{

    /**
     * 保存附件
     * @param AttachGuid
     * @param AttachName
     * @param AttachLength
     * @param AttachUrl
     * @param UpdataTime
     * @param OwnerUserGuid
     * @param AlbumGuid
     * @param AttachType
     * @param CategoryType
     * @param AttachState
     */
    void saveAttach(@Param("AttachGuid") String AttachGuid,@Param("AttachName") String AttachName,
                    @Param("AttachLength") String AttachLength,@Param("AttachUrl") String AttachUrl,
                    @Param("UpdataTime") String UpdataTime,@Param("OwnerUserGuid") String OwnerUserGuid,
                    @Param("AlbumGuid") String AlbumGuid,@Param("AttachType") String AttachType,
                    @Param("CategoryType") String CategoryType,@Param("AttachState") String AttachState);

    /**
     * 删除附件
     * @param AttachGuid
     */
    void deleteAttach(@Param("AttachGuid") String AttachGuid);

    /**
     * 获取相册下的附件数量
     * @param AlbumGuid
     * @return
     */
    int getAllAttachCountByAlbumGuid(@Param("AlbumGuid") String AlbumGuid);

    /**
     * 获取附件
     * @param AttachGuid
     * @return
     */
    Attach getAttachByGuid(@Param("AttachGuid") String AttachGuid);

    /**
     * 分页获取相册附件
     * @param AlbumGuid
     * @param index
     * @param currentPageCount
     * @return
     */
    List<Attach> getAllAttachByAlbumGuid(@Param("AlbumGuid") String AlbumGuid,@Param("index") int index,@Param("currentPageCount") int currentPageCount);

    /**
     * 获取附件的总数
     * @return
     */
    int getAllAttachCount();

}
